package model.AppModel

import unq.model.Pais
import unq.model.Caso
import org.uqbar.commons.utils.Observable
import org.uqbar.commons.model.ObservableUtils
import java.util.List

@Observable
class ViajarAppModel {
	@Property Caso caso
	@Property Pais seleccionado
	@Property Pais anterior
	
	new(Caso c, Pais p){
		this._caso = c
		this._anterior = p
	}
	def cambiarPaisActual(){
		caso.viajar(seleccionado)
		ObservableUtils.firePropertyChanged(Caso, "paisActual", Pais)
	}
	def destinoFallido(){
		if(!this.caso.planEscape.contains(seleccionado)){
			caso.agregarDestinoFallido(seleccionado)
			ObservableUtils.firePropertyChanged(Caso, "destinosFallidos", caso.destinosFallidos)
		}else{
			caso.agregarDestinoAcertado(seleccionado)
			ObservableUtils.firePropertyChanged(Caso, "recorridoVillano", caso.recorridoVillano)
		}
	}
}